package com.browsesoft;

import org.w3c.dom.Document;

/**
 * 属性服务，可直接得到属性值，隐藏了属性文件名称等细节。
 * 
 * @author Browsesoft
 * @version 1.0
 */
public class PropertiesService {
	/**
	 * 属性文件，用于得到属性值
	 */
	private static PropertiesFile pFile = null;

	/**
	 * 得到对象属性
	 * 
	 * @param objName
	 *            对象名
	 * @param propertyName
	 *            属性名
	 * @return 属性值
	 */
	public static String getProperty(String objName, String propertyName) {
		return pFile.getProperty(objName, propertyName);
	}
	
	/**
	 * 得到属性值，不存在，使用默认值
	 */
	public static String getProperty(String objName, String propertyName, String init) {
		return pFile.getProperty(objName, propertyName, init);
	}

	/**
	 * 得到对象属性
	 * 
	 * @param objName
	 *            对象名
	 * @param propertyName
	 *            属性名
	 * @return 属性值
	 */
	public static String getPropertyForInvestment(String objName,
			String propertyName) throws Exception {
		return pFile.getPropertyForInvestment(objName, propertyName);
	}

	/**
	 * 装载属性文件
	 * 
	 */
	public static void load(String path) throws Exception {
		// 生成新的属性文件
		pFile = new PropertiesFile(path);
	}

	/**
	 * 得到属性文件
	 * 
	 * @return 属性文件
	 */
	public static PropertiesFile getPropertiesFile() {
		return pFile;
	}

	/**
	 * 取得文档对象
	 * 
	 * @return 文档对象
	 */
	public static Document getDocument() {
		return pFile.getDocument();
	}
}
